System and method for updating, enhancing, or refining a geographic database using feedback

ABSTRACT

A method for updating a geographic database is disclosed. Data collecting equipment is installed in each of a plurality of vehicles each of which also has a navigation system. The data collection equipment is used to collect data while the vehicles are being driven along roads by their respective users. In addition, a method for assigning a confidence level to geographic data is disclosed. The confidence level is assigned to the geographic data as an attribute. In addition, a method for determining a position of a vehicle by sensing roadside structures is disclosed. Data indicating positions of roadside structures are contained in a geographic database. By matching positions of sensed roadside structures to data in the geographic database that indicates the positions of the structures, the position of the vehicle while traveling can be determined.

REFERENCE TO RELATED APPLICATION

The present application is a continuation of Ser. No. 10/298,798, filedNov. 18, 2002, which was a continuation of Ser. No. 09/532,751 filedMar. 22, 2000, now U.S. Pat. No. 6,516,267, which was a continuation ofSer. No. 08/951,767, filed Oct. 16, 1997, now U.S. Pat. No. 6,047,234.

BACKGROUND OF THE INVENTION

The present invention relates to a system and method for updating andenhancing a geographic database, and more particularly, the presentinvention relates to a system and method for updating and enhancing ageographic database based on feedback from field use of the geographicdata.

Computer-based navigation systems for use on land have become availablein a variety of forms and for a variety of applications. One exemplarytype of system uses a geographic data set, a navigation application, andoptionally, a positioning system. The geographic data set includesinformation about the positions of roads and intersections in or relatedto a specific geographical area, and may also include information aboutone-way streets, traffic signals, stop signs, turn restrictions, streetaddresses, alternative routes, hotels, restaurants, museums, stadiums,offices, automobile dealerships, auto repair shops, etc.

The optional positioning system may employ any of several well-knowntechnologies to determine or approximate one's physical geographiclocation. For example, the positioning system may employ a GPS-typesystem (global positioning system), a “dead-reckoning”-type system, orcombinations of these, or other systems, all of which are known in theart.

The navigation application portion of the navigation system is asoftware program that uses the detailed geographic data set and thepositioning system (when employed). The navigation application programmay provide the user with a graphical display (e.g. a “map”) of aspecific location in the geographical area. The navigation applicationmay provide the user with data indicating his own location and specificdirections to locations in the geographical area from wherever he islocated.

Computer-based navigation systems may exist as a single unit that may beinstalled in a vehicle, or even carried by persons. The navigationapplication and geographic data set may be provided as software productsthat are sold or licensed to users to load in personal computers.Systems operating on personal computers may be stand-alone or connectedby a communication link to a central or regional system. Organizations,such as trucking companies, package delivery services, and emergencydispatch units may employ navigation systems to track fleets and ensurethe quickest routes to destinations. The navigation systems may also bemade available on-line from a central system to multiple users on an “asneeded” basis, or from on-line services such as services available onthe Internet and private dial-up services.

Individual users can use navigation systems to obtain directions to adesired destination thereby reducing travel time and expenses. Thedirections can include detours around construction delays. Directionsmay be provided to street addresses, intersections, or to entities byname, such as to restaurants, hotels and service stations.

One potential obstacle to providing enhanced features with a navigationsystem is the difficulty in maintaining up-to-date information in thegeographic data set. A publisher of geographic data may obtain theinformation that becomes part of geographic data sets from fieldpersonnel sent to the locations to record the information or from aerialphotographs or municipal records or other sources. Geographicinformation, however, becomes outdated as new roads are built, existingroads are changed, traffic signals are installed, businesses changetheir hours of operation, new businesses open, existing businessesclose, etc. When changes occur, data in the geographic data set becomesinaccurate and its utility is thereby lessened.

Information identifying changes are collected using the same techniquesas described above. Once the information regarding changes is collected,it is incorporated into a master geographic data set. The publisher ofgeographic databases then periodically distributes updated geographicdata reflecting the changes to end-user. However, the process ofacquiring information regarding changes is time-consuming and expensive.Moreover, existing methods of acquiring updated data may becomeincreasingly expensive as geographic databases become more detailed andextensive in scope.

Another limitation with existing methods of data acquisition isaccuracy. Even with high quality aerial photographs and other existingcollection methods, the geographic coordinates of features may notalways be entered in the database with a high level of precision. Whileexisting methods are generally adequate to provide geographic data ofsufficient accuracy for vehicle positioning in route guidanceapplications, greater geographical accuracy may be required for certainother applications, such as vehicle control.

Accordingly, a system and method are desired that would provide for amore efficient acquisition of information reflecting changes andcorrections in geographic areas to navigation systems. Further, a systemand method are desired that allow the accuracy of the data in ageographic database to be enhanced.

SUMMARY OF THE INVENTION

In view of the above, a first aspect of the present invention isdirected to a system for updating, enhancing and/or refining ageographic database. A geographic database includes data representingphysical features in the geographic region, and, optionally, attributesof such features. The system includes a plurality of data collectingsensors. Each of the data collecting sensors is installed in a separateone of a plurality of vehicles each of which is capable of traveling onroads in a geographic region. Each of the data collecting sensorsprovides outputs indicative of one or more features in the geographicregion as the vehicle in which it is installed travels on the roads inthe geographic region. A computer program executes a feedback process onthe geographic database using the outputs of the data collectingsensors. A first part of the feedback program compares the outputs ofthe data collecting sensors to the data identifying the physicalfeatures and provides results representative of the comparisons. Asecond part of the feedback program is responsive to the results fromthe first part and determines the significance of the comparisons. Athird part of the feedback program modifies the data in the geographicdatabase based upon the significance determined by the second part ofthe program.

In a further aspect of the system, the data in the geographic databaserepresenting physical features in the geographic region are updated,enhanced, or refined based upon the significance determined by thefeedback program.

In another aspect of the invention, the data which has been updated,enhanced, or refined, is used to provide updated, enhanced, or refineddata in end-user vehicles, some of which may include the vehicles inwhich data collecting sensors have been installed.

According to another aspect of the invention, sensors in end-users'vehicles are calibrated to high levels of accuracy using the data whichhas been updated, enhanced or refined using a feedback process.

According to still another aspect of the invention, anout-of-calibration sensor in an end-user's vehicle is detected andre-calibrated using the data which has been updated, enhanced or refinedusing a feedback process.

In yet still another aspect of the invention, using a feedback process,levels of confidence of accuracy are assigned to data in the geographicdatabase representing physical features in the geographic region,thereby enabling the data to be used for purposes requiring high levelsof confidence.

In the aspects mentioned above, the data collecting sensors may be usedto sense the geographic position of the vehicle (derived from GPS,dead-reckoning, or other positioning systems), vehicle speed, roadgradient, lane width (derived from radar, and other similar systems),signage (derived from cameras), road direction (derived from an on-boardcompass or other heading-determining means), and various other physicalfeatures. The data in the geographic database may represent roads (orroad segments) and their positions, as well as other attributes relatingto roads.

In another aspect, the present invention is directed to a method ofupdating a geographic database by the steps of storing road data thatincludes a plurality of map positions in the geographic database. Aplurality of actual positions traveled is determined by a vehicle byrepeatedly sensing actual position while the vehicle moves. At least aportion of the plurality of actual positions is matched with a pluralityof map positions in the geographic database. A position difference iscalculated between each actual position in the plurality of actualpositions and the plurality of map positions. Each actual position forwhich the position difference exceeds a predetermined tolerance level isstored as a plurality of unmatched positions.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating a system according to a firstembodiment.

FIGS. 2A-2C are diagrams illustrating alternative embodiments of thedata collection vehicles shown in FIG. 1.

FIG. 3 is a flow chart illustrating a method for processing sensor datausing the system of FIG. 1.

FIGS. 4A-4E illustrate the application of the method of using the systemof Figure to update a geographic data set.

FIGS. 5A-5L illustrates the method of using the system in FIG. 1 asapplied to a sample portion of a geographic data set.

FIGS. 6A-6E illustrate an enhancement to the method of using the systemof FIG. 1.

FIGS. 7A-7D illustrate another enhancement to the method of using thesystem of FIG. 1.

FIGS. 8A-8G illustrate a method of using the system in FIG. 1 as appliedto non-positional features of a geographical area.

FIG. 9 is a diagram illustrating a data entity record in the geographicdatabase including an indication of the confidence level.

FIG. 10 is a flow chart indicating the steps for performing anotheraspect of a feedback process using data collection vehicles.

FIG. 11 is a flow chart indicating the steps for re-calibrating anout-of-calibration sensor in a vehicle.

DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS

I. System Overview

Referring to FIG. 1, a system 9 for updating and enhancing a geographicdatabase includes a central geographic data manager 10. The centralgeographic data manager 10 includes a central geographic database 20.The geographic database 20 includes data that represents physicalfeatures in a geographical area 47. The central geographic database 20may include data descriptive of position data in terms of points 44 onthe map and of links, or segments of roads 45. The central geographicdatabase 20 may also include data representing road gradients, roadwidths, lane widths and shoulder widths, and data that is descriptive ofstationary objects such as stop signs, buildings, bridge supports, etc.The central geographic database 20 may include non-positional featuressuch as speed limits, the direction of travel allowed on the roads andthe directions of allowed turns. The central geographic database 20 mayinclude other types of information as well, for example, types ofrestaurants, museum hours, etc.

Located in the geographic region 47 are a plurality of data collectionvehicles 50 (including vehicles 50(1), 50(2) . . . 50(n)). Each of thedata collection vehicles 50 includes a data collection system 39. Eachdata collection system 39 includes one or more sensors capable ofcollecting data representing physical features about the environment ofthe vehicle or the vehicle's physical position as the vehicle is movingor while it is stopped. As each of the data collection vehicles 50 moveson the roads (or is stopped) in the geographic area 47, the sensors inthe data collection system of the vehicle sense physical features. Thesedata collection vehicles 50 may include vehicles in which in-vehiclenavigation systems are installed, or vehicles which have only datacollection system equipment without on-board navigation systems, or mayinclude both types of vehicles. The plurality of vehicles 50 may includevehicles which are owned (or leased) by private party end-users as wellas fleet vehicles. Some of the data collection vehicles 50 include localcopies of a geographic database 56 (shown in FIGS. 2A and 2B) which maybe a copy or version of a portion of the central geographic database 20.The data collection vehicles 50 communicate data derived from their datacollection systems to the central geographic data manager 10 usingsuitable communications links 49.

II. Data Collection Vehicles

FIGS. 2A-2C illustrate alternative embodiments of the data collectionvehicles 50.

FIG. 2A illustrates an embodiment of a data collection vehicle 50(1)which processes sensor data 54 into filtered sensor data 55F forcommunication to the central geographic data manager 10. The datacollection vehicle 50(1) includes a data collection system 39(1) whichincludes a vehicle computing system 52, a sensor data processor 53, acommunications manager 58, a local map database 56, and one or moresensors 60. (The data collection vehicle 50(1) may also include anupdate manager 59 which is not necessarily part of the data collectionsystem 39(1).) In this embodiment of the data collection vehicle, partsof the data collection system 39(1) may be shared with an in-vehiclenavigation system. For example, the sensors 60, the vehicle computingsystem 52 and the map database 56 may be components of an in-vehiclenavigation system and may be used by the vehicle driver for suchpurposes.

The outputs of the one or more sensor devices 60 provide sensor devicedata 54. The sensor devices 60 may include a GPS (Global PositioningSystem), an imaging system (e.g. radar, cameras, etc.), a gyroscope, acompass, an odometer and other sensors. The sensor devices 60 outputdata 54 as the vehicle 50(1) moves around the geographic region 47 orwhile it is stopped. The output 54 from the sensor devices 60 isprovided to the vehicle computing system 52 of the data collectionsystem 39(1).

The sensor data processor 53, using the data 54 output from the sensors60 to the vehicle computing system 52, compares the sensor device data54 with data in the local map database 56. The sensor data processor 53may be implemented as a computer program executed on the CPU of thevehicle computing system 52 or may executed on a separate processor. Thesensor data processor 53 determine variances between the sensor devicedata 54 and the data in the local map database 56 based on comparisonsbetween the sensor device data 54 and corresponding elements in the mapdatabase 56. The variances depend upon the type of data being compared.For example, if the output of a position sensor is being compared to acorresponding position in the local map database 56, the variance may bea distance representing the difference between the two values. Thevariance may also include the relative direction of the difference. Thevariance is compared to threshold levels above or below which the sensoroutput may be considered unmatched to a map database element. Thethreshold levels may be based on factors such as the tolerances of thesensors.

The sensor data processor 53 processes the sensor data 54 into filteredsensor data 55F. The filtered sensor data may include only the variancesthat exceed a certain predefined threshold. The filtered sensor data maybe temporarily stored on a data storage device (not shown) in thevehicle.

In one embodiment of the data collection vehicle 50(1), thecommunications manager 58 is used to transmit the filtered sensor data55F to the central geographic data manager 10 of FIG. 1. Thecommunications manager 58 may utilize any appropriate means for datatransmission, including wireless (49 in FIG. 1), cellular, modemuploads, e-mail, and so on. Data may be communicated at any time. Forexample, data may be communicated as it is obtained. Alternatively, thedata 55F may be stored and communicated at a fixed time, such as dailyor weekly at a specified time. The data 55F may also be communicated toan intermediate data collection system and then transferred to themanager 10. In another alternative embodiment, data is collected in thevehicle on a disk and uploaded by modem or sent by mail to the manager10.

In the embodiment of FIG. 2A, data may be selected from the filteredsensor data 55F for communication to the central geographic data manager10. For example, data that indicates variances beyond a certain levelmay be selected for communication to the central geographic data manager10. Alternatively, all of the filtered sensor data 55F, includingvariances that indicate a perfect match between sensor device data anddata in the local database 56 may be communicated to the centralgeographic data manager 10. By sending all of the filtered sensor data55F, the central geographic data manager 10 may determine thereliability of the geographic database 20 by confirming the accuracy ofthe existing data in the central geographic database 20.

FIG. 2B illustrates another embodiment of a data collection vehicle50(2). The embodiment 50(2) of FIG. 2B collects raw sensor data andcommunicates it to the central geographic data manager 10. The datacollection vehicle 50(2) includes a data collection system 39(2) whichincludes a sensor driver 51, a vehicle computing system 52, acommunications manager 58, a local map database 56, and one or moresensors 60. (The data collection vehicle 50(2) may also include anupdate manager 59 which is not necessarily part of the data collectionsystem 39(2).) As in the embodiment of FIG. 2A, an in-vehicle navigationsystem may be used as part of the data collection system.

The outputs of the one or more sensor devices 60, which may be the sameas those identified above, provide sensor device data 54 . The sensordevices 60 collect data as the vehicle 50(2) moves around or stops inthe geographic region 47. A sensor driver 51, which may be a softwareprogram, processes the sensor device data 54 into raw sensor data 55R.(The functions performed by the sensor driver 51 may include, forexample, converting essentially analog outputs of sensors 60 intoappropriate digital data, scaling the data, time stamping the data,compressing the data, identifying the types of sensors that generate thedata, organizing the raw data for storage purposes, and so on.) The rawsensor data 55R may be temporarily stored in a data storage device (notshown) in the vehicle 50(2). The raw sensor data 55R is communicated tothe central data manager 10. The communications manager 58, which may besimilar to the communications manager in the embodiment of FIG. 2A, maybe used for this purpose.

Another embodiment of a data collection vehicle 50(3) is illustrated inFIG. 2C. The data collection vehicle 50(3) includes a data collectionsystem 39(3) including a sensor driver 51, a temporary storage 63, andsensors 60. These components perform similar functions as the likenumbered components in FIGS. 2A and 2B. As shown, the data collectionvehicle 50(3) in FIG. 2C does not include an in-vehicle navigationsystem. The data collection vehicle 50(3) in FIG. 2C stores raw sensordata 55R in the temporary storage 63. A user then transfers the data toa floppy disk or to a removable hard disk drive and physically sends thedata to the central data manager 10. Alternatively, the data collectionsystem 39(3) in the vehicle may include a communications manager thatprovides functions, similar to those described above, to transfer thedata to the central data manager.

III. Central Geographic Data Manager

A. Collection of Data From Vehicles

The central geographic data manager 10 illustrated in FIG. 1 includeshardware and software components for receiving data 55R and 55F from thedata collection vehicles 50 and for processing the data to generateupdates, refinements, and/or enhancements to the central geographicdatabase 20. The central geographic data manager 10 may also assignlevels of reliability to data in the database 20, as described below.The hardware and software components need not be located in one locationor operate on one computer. Different components may be located indifferent places with known communications techniques used to connectthem.

The central geographic data manager 10 receives raw sensor data 55R fromthe data collection vehicles 50(2), 50(3) that communicate non-filtereddata at a raw data collector 28. The central geographic data manager 10receives filtered data 55F from the data collection vehicles 50(1) at afiltered data collector 12. The filtered sensor data collector 12 andthe raw sensor data collector 28 are interfaces to the communicationlinks 49 and may be implemented by any suitable technology for receivingdata. Each collector handles the data received from its correspondingplurality of data collection vehicles 50 and forwards the data to theappropriate processes in the central geographic data manager 10.

The filtered data collector 12 stores and organizes the filtered sensordata 55F in a central filtered sensor database 14. For vehicles thatcommunicate raw data 55R to the central geographic data manager 10, theraw data collector 28 organizes the raw sensor data from the pluralityof vehicles in a central raw data database 30. This collection of datais analyzed for variances by a central sensor data processor 32. Thecentral sensor data processor is a computer program, similar to thelocal sensor data processor 53 of FIG. 2A, capable of calculatingvariances based on comparisons of the raw data with the geographic datain the central database 20. The central sensor data processor 32 storesvariances as filtered sensor data in the filtered sensor database 14.

B. Updating/Enhancing the Central Database

The collection of data in the filtered sensor database 14 is analyzed bya statistical data analyzer 16. The statistical data analyzer 16includes a computer program that applies statistical analysis techniquesbased on further comparisons with the geographic data in the centralgeographic database 20. The statistical analysis techniques may takeinto account thousands or millions of sensor readings to derive resultswith a high level of reliability and confidence. The statistical dataanalyzer 16 determines updates to the central geographic database 20based on whether the central filtered sensor data set 14 reflectsstatistically significant variances. (Various kinds of statisticaltechniques for analyzing data using large numbers of readings are knownand may be used.)

The statistical analysis techniques can also take into accounthistorical information. For example, if a highly traveled road segmentthat was sensed thousands of times a day for years suddenly had noreported sensor readings, it would be an indication that the road was nolonger open. An appropriate update to the central database, or at leastan indication to verify a possible change in the database record, wouldbe processed accordingly.

The statistical data analyzer 16 may determine confidence levels fordata elements in the central geographic database 20. Referring to FIG.9, confidence levels may be stored for data elements in the centralgeographic database 20. The confidence level is stored as an attributeof a data entity. The confidence level may be expressed as a magnitudethat is indicative of the certainty to which the data entity in thecentral geographic database 20 matches the actual physical feature inthe geographic region. The confidence level of an item of data may beincreased or decreased according to the frequency and freshness withwhich the feature is sensed by the data collection vehicles. In FIG. 9,a data entity D represents a road segment record having positionalinformation attributes. The road segment attributes include the latitudeand longitude of the left and right nodes (L-LAT, L-LON, R-LAT, R-LON)of the road segment data entity D. A confidence level attribute CLincludes a value (e.g. 1-10) which expresses the confidence that thepositional data is accurate. For example, a confidence level of “10” mayindicate that, based upon the statistical analysis, there is a greaterthan 99% certainty that the positional data (L-LAT, L-LON, R-LAT, R-LON)is within 1 cm. A confidence level of “8” may mean that, based uponstatistical analysis, there is a 75% level of certainty that thepositional data is within 1 meter, or that there is a 99% level ofcertainty that the positional data is within 15 meters.

The statistical data analyzer 16, the operation of which is discussedfurther below with reference to FIGS. 5A-5L, also provides for anylayout changes that may be necessary when the database is modified. Suchlayout changes may involve creating new links, modifying the geometry ofexisting links, and designating features known about the new andexisting links.

According to one method of updating, the statistical data analyzer 16provides a message 18 to initiate an update process 22 for the centralgeographic database 20. The update process 22 collects the individualchanges to the central geographic database 20 from the statistical dataanalyzer 16 and stores the changes in a queue of update transactions fora distribution process 24.

In one embodiment, the steps performed in the manager 10, including thedetermination of variances, the collection of data from the vehicles,the analysis of statistical significance, and the updating of thecentral database, are performed on an ongoing and continuous basis.However, in alternative embodiments, it may be preferred to perform someof these tasks intermittently or periodically.

C. Distributing Updates to Users

Referring to FIG. 1, at some point, data reflecting the updating processapplied to the central database is released to the end-users. Therelease and/or distribution of data may be performed by an updatedistributor 26 Distribution may be accomplished electronically using thewireless communication links 49. In vehicles that have communicationsmanagers (such as in FIGS. 2A and 2B), the update distributor 26 maycommunicate updated information from the central data manager 10directly back to the local communications managers 58 in the individualdata collection vehicles 50. Other alternative means of distribution maybe used including distribution of hard media, such as CD-ROM discs andPCMCIA cards, downloading to personal computers, and so on.

The end-users may include persons who use local versions 56 ofgeographic databases in their vehicles. The end-users may also includevarious others including, for example, personal computer users 46 andnetworks 48, such as on-line services, services that use the Internetand organizations that incorporate all or parts of the geographicdatabase in applications such as emergency dispatch centers, truck fleettracking and package delivery fleet tracking.

The releases may occur on a continuous basis, or may occur from time totime, or on a regular or irregular basis, a staggered basis, and so on.The release of data reflecting the updating process can be made in anyof several different formats. According to one process for releasingupdated data to end-users, the updated data may be released as a seriesof update transactions which are applied to each user's local copy ofthe geographic database, as needed. According to another process forreleasing data to end-users, versions of the entire database reflectingthe updated data may be provided.

A flow chart illustrating the process of the system 9 of FIG. 1 is shownin FIG. 3. The computing devices (32 in FIG. 1, 53 in FIG. 2A) useoutput from sensors (60 in FIGS. 2A-2C) to relate (Step S2 in FIG. 3) toa geographic database (20 in FIG. 1, 56 in FIG. 2A) and perform someaction based on the interpretation of the sensor data and databasecontent. Variances, including zero-variances, between the perceivedreality derived from the sensor data and the content of the map databasecan be stored as filtered sensor data (Steps D1, S3, S4 in FIG. 3; 14 inFIG. 1; 55F in FIG. 2A) in a storage medium and communicated to alocation in a central repository for database updating processing (16 inFIG. 1). The filtered sensor database (14 in FIG. 1) preferably willretain variances to allow statistical processing for more accurateupdates. (Steps D2, S5, S6 in FIG. 3). After the update process has beenapplied to the central database (22 in FIG. 1), database updates arecommunicated to end-users of the database. (Alternatively, in theembodiments of FIGS. 2B and 2C, the raw data derived from the sensordevices may be stored in some medium and communicated to a separatesystem for comparison against the map database outside the scope of thevehicle navigation system.)

D. Feedback Calibration of Vehicle Sensors

In a further alternative embodiment, vehicle sensors in the variousend-users' vehicles are fine-tuned for very high levels of accuracy by afeedback process. The feedback process uses the collection of sensordata from a large number of vehicles (using the process described above,for example) to provide highly accurate geographic data in the centraldatabase which in turn is distributed to individual end-user vehiclesand used to adjust and calibrate the sensors in each of the individualend-user vehicles to conform to the known-to-be-highly accurategeographic data. In this manner, the continued use of data collectionvehicles and the redistribution of known-to-be-highly accurate data tothe individual end-users' vehicles for calibrating of the sensors in thevehicles forms a feedback loop which pumps up the accuracy of thesensors in each of the individual vehicles. The accuracy that can beobtained in this manner can exceed the accuracy that could be obtainedby any one vehicle or any one sensor measurement using conventionaltechniques. A diagram illustrating this process is shown in FIG. 10.

Using the feedback calibration process described above, highly accuratedata having a high confidence level can be developed. The levels ofaccuracy that can be achieved can be as high as

1 cm, or better. Given these levels of accuracy, it is possible to use ageographic database for vehicle control and safety systems. With highlevels of accuracy in both the geographic database and the vehiclepositioning sensors, the safety systems can automatically determine ifthe vehicle is deviating from the roadway, veering out of its lane, andso on. In conjunction with the high levels of accuracy, the safetysystems or vehicle control systems use the confidence level attributes,described above, to confirm that the data is not only accurate but alsoreliable.

In another alternative embodiment, out-of-alignment sensors in a vehiclecan be detected and corrected using a feedback process. Using a feedbackprocess to develop highly accurate data, as described above, oncegeographic data is known-to-be highly accurate (i.e. its confidencelevel is high) as a result of statistical analysis of a large number ofdata records collected from a large number of vehicles over asignificant period of time, if one vehicle using the data reportsvariances, then it can be determined that the sensors in thevariance-reporting vehicle are likely out of calibration. Then, usingonly the variance data reported from the one vehicle and theknown-to-be-highly accurate data, the sensors in the variance-reportingvehicle are re-calibrated to the same level of accuracy as all the othervehicles. (It is understood that as a step in the process, it may berequired to acquire data for a period of time from other data-collectingvehicles after the variances are collected from the variance-reportingvehicle to confirm that other data-collecting vehicles do not observethe same variances.) A diagram illustrating this process is shown inFIG. 11.

In further aspect of this embodiment, the data collection systems ineach of the data collection vehicles provide data that identifies of thetypes of sensors being used to collect the data. Then, when variancesfrom a vehicle are collected, the type of sensors measuring thevariances are taken into account. For example, if a type of sensorreports variances that suggest it should be re-calibrated, it is firstcompared to similar kinds of sensors. This permits a better evaluationof the extent to which the particular type of sensor can be calibratedbased on the accuracy which is achievable in like-equipped vehicles.

V. Processing Sensor Data

A. Comparing The Sensor Data And A Geographic Database

Processing of a modification to an existing database based upon thecollection of data from a single vehicle is illustrated in connectionwith FIGS. 4A-4C. This example refers to positional information(latitude, longitude, and altitude) and illustrates attempts to matchpositional sensor data to the elements in a geographic database (e.g.the central geographic database 20 in FIG. 1 or the map database 56 inFIGS. 2A and 2B). Similar steps would be used for other types of data.

FIG. 4A graphically depicts an area that may be represented in ageographic database. FIG. 4A illustrates map positions 80(1), 80(2) . .. 80(n) and map links 100(1), 100(2), . . . 100(n) representing roadsegments, connecting the map positions 80. In FIG. 4B, a set of actualpositions 90(1) . . . 90(n) established by the sensor devices on thevehicle are denoted as arrows with time sequence identifiers T1-T14. Themap matching process uses the vehicle's bearing, proximity to that link100(1), and various link features to place the vehicle on a matched link100(1).

The sensor data points are compared to map positions 80 and the matchedlink 100(1) by determining the shortest distance from the sensor datapoint to the matched link 100(1). If the resulting distance exceedsspecified tolerance levels, or if sensor data conflicts with features ofthe matched link 100(1), a record of this variance is created along withrelevant sensor data. The record, illustrated in FIG. 4C as a new link110(1), is then stored in the filtered sensor database (55F of FIG. 2Aor 14 of FIG. 1).

If a link is traversed with all sensor samples within the tolerancelevel, a record is created in the filtered sensor database, certifyingthe accuracy of the matched link and its features and identifying thesensor device or devices used.

FIG. 4D illustrates the collection of data over time with numerouscollections of sensor data, which would result in a database update asindicated in FIG. 4E.

B. Updating The Central Geographic Database

The filtered sensor data includes information regarding potential newlinks and may be used to determine whether the geographic database is tobe updated. During the update of the geographic database, featuresrelative to the actual position may be determined from the sensor data.Data relating to such features may be included as filtered sensor dataso that the features may be included in the update of the geographicdatabase. For example, if only the data collection shown in FIGS. 4B and4C were available, the new link 100(m) (also labeled L9) can betraversed from left to right (in the direction the collector vehicletraveled) based on the single collection of sensor data. When the newlink 100(m) is added to the central geographic database 20 during anupdate operation, the restriction of allowing travel in the singledirection may be added as a feature of the new link 100(m) until sensordata is received to indicate that travel may be allowed in the otherdirection.

The filtered sensor data may provide information regarding otherfeatures that may be used during the update of the geographic database.For example, the addition of the new link 100(m) forms two new linkslabeled 100(1)(2) (also L3 b) and 100(1)(1) (also L3 a) where previouslyonly 100(1) (labeled L3) existed as illustrated in FIG. 4C. The updateof the geographic database may include a feature allowing vehicles totraverse from link L3 a) to L9 (labeled 100(m)), but not from L3 b toL9. The feature may be revised if data supporting travel from L3 b to L9is received.

FIGS. 5A-5L illustrate time sequence examples of using sensor data toupdate the geographic database. FIGS. 5A-5F illustrate a method of usingsensor data to update the geographic database for a single sample ofsensor data. FIGS. 5G-5L illustrate a method of using sensor data toupdate the geographic database after a second sample of data has beencollected on the same link.

FIG. 5A contains a sample road network 120 and an example of a graphicalrepresentation 122 of the geographic database 20 (shown in FIG. 1) atits time of release. The geographic database 20 contains no link forMarket St. between 1st St. and 2nd St. FIG. 5B illustrates the trackingof a vehicle with sensor devices generating actual positions 130, inrelation to both the road network 120 and the database 122. The unfilledtriangles 130U in FIG. 5C represent positions which were able to matchto links in the database as denoted by the arrows. The filled triangles130F in FIG. 5C represent positions which would exceed map matchingtolerance levels and therefore induce the map matching process to storethese positions as unmatched in the filtered sensor database. Theunmatched positions may be stored as an ordered set of points 136 asshown in FIG. 5D. The contents of the entry in the filtered sensordatabase would be the previous link L8 successfully matched, thelatitude/longitude of each unmatched position, and the next link L11successfully matched. The data analyzer processor 16 (in FIGS. 1 and 2A)then derives a new link using the method illustrated in FIGS. 5E and 5F.

A new link may be derived by determining the shortest distance 180 fromthe first unmatched position 175 to the previous link L8, and splittingthe link at that nearest point 190 on the link L8 creating two new linksL8A and L8B out of link L8. The processor 16 then determines theshortest distance 182 from the last unmatched position 176 to the nextlink L11 matched, and splitting the link at that nearest point 192 onlink L11, creating two new links L11A and L11B out of link L11.

Beginning at the intersection of L8A and L8B, the new link 100(q)isconstructed by joining all unmatched positions and terminating at theintersection of links L11A and L11B as shown in FIG. 5E. The filteredposition database is then updated to associate all unmatched positionswith the new link 100(q).

The resulting database content is illustrated in FIG. 5F. At this point,features may be added to this new link which may include the directionof travel (from left to right), the average speed, and the fact thatturns can legally be made from L8B to 100(q), and from 100(q) to L11A.

FIGS. 5G-5L illustrate a process of using sensor data to update thegeographic database after a second sample of data has been collected.FIG. 5G contains the same example of the road network 120, and thedepiction of the map database 122 as updated in FIGS. 5A-5F. FIG. 5Hcontains a new set of sensor data points 202 for a vehicle traveling inthe opposite direction. FIG. 5I highlights the positions 202U whichexceeded map matching tolerance levels, but may have been determined tomatch the new link 100(q). The map matching process will store thesepositions 202U with the filtered sensor data as an ordered set of points206 as shown in FIG. 5J. The filtered sensor data may include theprevious link matched L11A, the ordered set of points 206, the next linkmatched L8B, and the assumed match 100(q). The sensor data processorwould then update the geographic database using a process describedbelow with reference to FIGS. 5J, 5K and 5L.

In updating the geographic database, all ordered sets of points from thefiltered sensor data which have been associated with the new link100(q), which in this example is the ordered sets of points 206, areidentified. In addition, all positions for the same direction of travelas the positions being processed (in this example, the ordered sets ofpoints 206) are identified. In this example, the positions representedby the ordered set of points 206 are for the direction opposite thedirection of the new link 100(q). The ordered set of points 206 are thenaveraged using a sequential averaging or curve fitting technique tocreate a single sequence of positions.

An intersection point 214 with the nearest link to the beginningposition of the ordered set 206 is identified. An intersection point 216with the nearest link to the ending position in the ordered set is alsoidentified.

All points having a direction of travel opposite the direction of theordered set of points 136 are then averaged using the sequentialaveraging or curve-fitting technique to create an opposite directionordered set of points 136A. In the example in FIG. 5J, no points werecollected in the second sample traveling in the same direction as thenew link 100(q). Therefore, the new link 100(q), or points in the newlink 100(q), may be used for the opposite direction ordered set ofpoints 136A.

The distance between the sets of points in opposite directions 136, 136Ais averaged by calculating half the distance from each point startingwith the ordered set of points represented by the most points to yield aset of average points 136M in FIG. 5J. The average points 136M are thendesignated as the new link 100(q)(new) in FIG. 5K. Alternatively, thenew link 100(q)(new) could be modified by moving it to correspond withthe average points 136C. The link features may now be updated toidentify the direction of travel as being both directions. The averagespeed may also be updated. It may be assumed that turns can be legallymade from L11B to 100(q)(new) and from 100(q)(new) to L8B. The resultingdatabase content is illustrated in FIG. 5L.

C. Trend Analysis

The collection of data over time illustrated in FIG. 4D may be subjectedto a process of trend analysis as illustrated in FIGS. 6A-6E. Theaddition of link L5 in FIG. 6C may be used as an update to the mapdatabase in FIG. 6A, based on the sensor data provided from the samplesin FIG. 6B. However, FIG. 6D illustrates that the path of the vehiclewas actually a maneuver through a filling station. FIG. 6E illustrates atrend analysis, with the dense lines 250 representing a high instance ofsensor data positions and the dotted line 260 representing the singletraversal of the vehicle whose path is defined in FIG. 6B. Applyingstatistical analysis of the entire sensor collection would result in thelink L5 being classified as statistically insignificant and not beingadded to the geographic map database 20.

FIGS. 7A-7D further illustrate how geographic updates can be implementedusing sensor data from a feedback loop with trend analysis. A graphicalillustration of a portion of the map database 20 in its original stateis shown in FIG. 7A. FIG. 7B represents the original database contentwith the heavier arcs 270 representing the average paths determined fromsensor data. The two distinct arcs may be dependent upon bearing andstatistical normalization. As illustrated in FIG. 7C, a new arc 290 isgenerated at the geometrical center 292 of the tracking arcs T1 and T2.The original link L_(orig) is then updated to reflect the new geometrydefined by the new arc 290. Curve fitting and other standard techniquescould be employed alternatively to determine positional changes.

D. Variances of Data Representing Other Features

The same process for determining variances used to collect basicpositional information (latitude, longitude, and altitude) as shown inFIG. 3 can also be applied to other physical features which describe thephysical road structure. For example, FIGS. 8A-8B illustrate vehiclesthat are collecting road gradient information. FIG. 8C illustrates avehicle that is collecting information regarding road width, lane width,and shoulder width. The information provided by the sensor devices iscompared against the database and variance/confidence information iscommunicated through the loop described above with reference to FIGS. 3and 4A-4E. This type of data is used by advanced vehicle safety systems,described above, because the more accurate and refined the database, theearlier and more intelligently system action can be taken. By reducingthe margin of error for lane width, a system which detects erraticdriving patterns can engage earlier and be more successful. A systemwhich detects excessive speed during curve traversal can more accuratelydetermine the maximum safe speed based on the bank of the curve.

Sensor devices which can identify objects in the path of a vehicle canbe confused by permanent structures (for example signs, pillars,overpasses, poles, etc.). Maintaining an accurate model of thesepermanent structures can enable the sensor devices to filter out objectsthat may otherwise be interpreted as a potential hazard. By increasingthe confidence level of the database, as described above, systems thatidentify road hazards can engage with the appropriate action morereliably. Variances may be determined for database elements thatrepresent objects when compared to images sensed from image sensorsusing a process similar to the process in FIG. 3. In connection with thedetection of images, signs or other landmarks can be detected by camerasusing image or shape detecting programs. The sign text on the signs isrecorded and variances are stored, as described above. In addition, thelocation of signs or other road side landmarks can be sensed, stored,and compared for variances. These landmarks can include not only signs,but any detectable feature, including lamp posts, viaducts, etc. Theposition of any detectable feature can be measured for variances andused for calibration, generating confidence levels, and so on. In thismanner, the positions of many kinds of landmarks can be detectedrelatively inexpensively.

Knowledge of, and greater precision in, the position data for permanentstructures also facilitates vehicle positioning useful in route guidanceand other applications. For example, when a vehicle travels asignificant distance along a straight road, the vehicle's position canbecome more uncertain as errors associated with the positioning sensorsaccumulate. Enhanced knowledge of the position of permanent structuresalong such straight roadways can serve as a landmarks to which thevehicle position can be corrected (or map-matched) when the landmark issensed.

In an embodiment illustrating this feature, a vehicle includes sensorswhich may be similar to the sensors 60 in FIGS. 2A-2C. The vehiclesensors have the capability to detect structures. In one embodiment, thestructure-detecting sensor is a radar system. The vehicle also includesan automatic vehicle control system and includes a local geographicdatabase (similar to the database 56 of FIGS. 2A and 2B). The localgeographic database has data that includes road side detectablefeatures, such as sign posts, viaducts, lamp posts, and so on. The localgeographic database also includes data relating to roads. Using thedetection of the road side structures, such as lamp posts, viaducts, andso on, the position of the vehicle in the geographic region can bedetermined by a map matching program. Map matching programs are known.Given the known locations of radar-detectable features, such as lampposts, viaducts, for example, the position of the vehicle can bedetermined very accurately by matching the vehicles' position onto roadsegments in the geographic database. The position of the vehicle can befine-tuned by matching the position to the known positions of thedetectable roadside landmarks. With this level of accuracy, an automaticsafety system can be implemented that automatically avoids obstaclesdetected by the radar.

As shown in FIGS. 8D-8G, the sensor devices, which for permanentstructure analysis includes image sensors, determine static elements inthe field of vision, compare the image footprint to the database andrecord the difference or confidence information as necessary. FIGS. 8D,8F and 8G illustrate how image sensors identify signs according to signlocation, dimension and content at 300 and sign post location at 302.FIGS. 8E and 8G illustrate how image sensors may identify permanentstructures such as guard rails 304, bridge supports 306 and nearbystructures 308.

Sensor data may also be evaluated with respect to non-positionalfeatures that may be represented in the database to identify potentialerrors and establish confidence levels for these features. Examples offeatures to evaluate include: direction of travel, divider location,speed limit, and turn restrictions. The features of the links containedin the geographic database would be processed in the same manner aspositional data. If one collector vehicle traverses a link in theopposite direction of travel as maintained in the map database 56, but asignificant number of other collections indicate tracking in the samedirection of travel as maintained in the map database 56, the singlecase may be archived as statistically insignificant.

Embodiments of a system for updating a geographic database have beendescribed. Alternative embodiments can be appreciated from thisdisclosure by one of ordinary skill in the art. For example, the centralgeographic data manager 10 may collect only raw data or only filteredsensor data such that it would include only a raw sensor data collector28 or a filtered sensor data collector 12 and the components used toprocess either raw sensor data or filtered sensor data. In addition, nolimitation is placed on the scheduling of the distribution of updates bythe update distributor 26. Updates may be distributed according to aschedule, or in a manner.

Advantages of the embodiments of the systems described herein includethe ability to receive data for processing database updates directlyfrom users of the navigation system. Because the users of the navigationsystem may be numerous, this may reduce the need to take measures todetermine if changes have occurred to the geographical area, such as,sending employees to verify the area such as by visiting the area andrecording information or by taking aerial pictures or by checkingmunicipal records.

Presently preferred embodiments of the present invention have beendescribed. One of ordinary skill in the art can appreciate that otherembodiments that fall within the scope of the claims are possible. It isintended that the foregoing detailed description be regarded asillustrative rather than limiting and that it is understood that thefollowing claims including all equivalents are intended to define thescope of the invention.

1-25. (canceled)
 26. A method of collecting data for a geographic database comprising: using data collection equipment in each of a plurality of end users' vehicles to collect data while said end users' vehicles are being driven along roads; sending at least a portion of the data collected by said data collection equipment to a central database; and updating the central database using the portion of the data collected.
 27. The method of claim 26 wherein the data collected relates to geographic positions.
 28. The method of claim 26 wherein the data collected relates to vehicle speed.
 29. The method of claim 26 wherein the data collected relates to road gradient.
 30. The method of claim 26 wherein the data collected relates to lane width.
 31. The method of claim 26 wherein the data collected relates to signage.
 32. The method of claim 26 wherein the data collected relates to road direction.
 33. The method of claim 26 wherein the data collection equipment includes cameras.
 34. The method of claim 26 wherein the data collection equipment includes radar systems.
 35. The method of claim 26 wherein the data collection equipment includes compasses.
 36. The method of claim 26 wherein the data collection equipment includes GPS units.
 37. The method of claim 26 wherein the data collection equipment includes dead-reckoning units.
 38. The method of claim 26 further comprising: before the step of updating, comparing the portion of data collected to data already contained in said central database.
 39. The method of claim 38 further comprising: after the comparing step, indicating a confidence level associated with data contained in said central database.
 40. The method of claim 26 further comprising: prior to the step of sending, filtering the data collected while said end users' vehicles are being driven along roads.
 41. The method of claim 26 wherein the data collection equipment in at least some of the plurality of end users' vehicles is part of a navigation system.
 42. A system for collecting data for a geographic database comprising: data collection equipment installed in each of a plurality of end users' vehicles, wherein said data collection equipment is operable to collect data while said end users' vehicles are being driven along roads; a central database; a communications system that sends at least a portion of the data collected by said data collection equipment to a central database; and a central geographic data manager that receives the portion of the data collected by said data collection equipment and updates the central database using the portion of the data collected.
 43. The system of claim 42 wherein the data collected relates to one of geographic positions, vehicle speed, road gradient, lane width, signage, and road direction.
 44. A method of collecting data for a central geographic database and improving quality of data contained in the central geographic database, wherein the method comprises a process that uses end users' vehicles, suitable equipped with data collection equipment, to collect data while said end users' vehicles are being driven along roads, and thereafter sends at least a portion of the data collected by said data collection equipment to the central database where the central database is updated using the portion of the data collected, whereupon data from the updated database is used to provide navigation related features to at least some of the end users.
 45. The method of claim 44 wherein the data collected relates to one of geographic positions, vehicle speed, road gradient, lane width, signage, and road direction. 